The present invention relates in general to transcoding, and more particularly to network transcoding of multimedia data flow.
Distributed multimedia applications require communications support mechanisms with multiple clients on a network. Referring to FIG. 1, networking capability of a network node (a computer residing on a network) is divided into several layers that interface with each other. This is called the network stack. Starting from the bottom of the network stack, the physical network interface is responsible for receiving the electronic signals that come across the network wire. Moving up the stack the network signals are decoded further and passed to the next stack until the application layer is reached. It is this layer where the network traffic is interpreted in such a way that a response can be communicated to network clients to satisfy the ultimate service request by that client, such as a request for particular multimedia data flow.
Such network traffic needs to be delivered to end-systems, networks and end-users in a form that they can handle while satisfying the constraints imposed by the application. Quality of Service (QOS) mechanisms that allow full quality multimedia data playout on high-performance stations, while at the same time providing appropriately filtered lower quality playout, perhaps in a different coding format, at other end systems is called transcoding. However, current transcoders cannot scale, cannot adapt and are not flexible.
What is desired is a system for network transcoding of multimedia data flow wherein users can program a transcoding resource across the network and have a custom transcoder, so to speak, that scales, is adaptable and flexible.
In accordance with the illustrated preferred embodiment of the invention, a service provider node has an active network daemon running on it. Users control an adaptive pipeline via the active network capability of the service provider node by sending coded instructions to the service provider node. After intercepting a network client request for transcoding, an adaptive pipeline is constructed within the service provider node according to control parameters contained in the coded instructions sent to it by a user. The adaptive pipeline includes a decode and an encode stage with zero or more intermediate filtering stages. The number and type of intermediate stages is determined by the values of the specified flow parameters. The multimedia data flow requested by the network client is then processed through the adaptive pipeline and the resulting transcoded multimedia data flow is sent to the network client that requested it.
The objects, advantages, and other novel features of the present invention are apparent from the following detailed description when read in conjunction with the appended claims and attached drawing.